// 可以引入一个提示信息的消息组件(根据自己的UI框架选择)
// import { notification } from 'ant-design-vue'

// $axios: 实例
// redirect: 如果需要跳转页面(比如登录页),
// 可以从 nuxt 中拿到 redirect 函数即可, 跳转: redirect('/user/login')
const request = ({
  $axios,
  redirect,
  store
}) => {
  // $axios.defaults.timeout = 10000;
  // $axios.defaults.baseURL = 'http://127.0.0.1:8080/';
  // 在请求之前做一些事情
  $axios.onRequest(config => {
    if (!config.data && config.method == 'post') {
      config.data = {}
    }
    return config
  })

  // 获取数据后做一些事情
  $axios.onResponse(response => {
    return response.data
  })

  // 请求失败(服务器报错),做一些事情
  $axios.onError(error => {

    // error: 错误详细信息(啥都有)

    // 获取状态码
    const code = parseInt(error.response && error.response.status)
    // console.log('error',error)
    // 如果服务器状态码不等于200(意味着接口废了)
    if (code != 200) {
      // console.log('服务器报错了...')
      // 例如: 直接跳到错误页
      if (process.env.NODE_ENV != 'development') {
        // redirect('/404')
      }
    }
  })
}


export default request
